/*
	File:		ObjectManager.h
	Author:		Ben Feldmann
	Purpose:	Contain/Manage all game entities	
*/

#pragma once


//#include <list>
#include <vector>
using std::vector;

#include "IEntity.h"


class ObjectManager 
{
private:
	//IEntity iEntity;
	vector<IEntity*> objects;
	//static ObjectManager* instance;

	ObjectManager() {}
	ObjectManager(const ObjectManager&);
	ObjectManager& operator=(const ObjectManager&);
	~ObjectManager() {}

public:
	static ObjectManager* GetInstance();
	//static void DeleteInstance();

	void AddObject(IEntity* object);
	void RemoveObject(IEntity* object);
	void UpdateAll(float elapsed);
	void RenderAll();
	void CheckCollisions();
	void RemoveAllObjects();

};
